|
Программируем по-русски
|
Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку. Издатель Глагола
|
(******************************************************************************) (**) ОТДЕЛ МатрВВ; (****************************************************************************** * НАЗНАЧЕНИЕ: ввод из файла и вывод на экран Матриц и Векторов ******************************************************************************) ИСПОЛЬЗУЕТ Матем, Вект, Матр, Компл, КомплВект, КомплМатр, Читать ИЗ "..\Обмен\", Вывод ИЗ "..\Обмен\"; (******************************************************************************) ЗАДАЧА ОткрытьПоток-(имяФайла-:ЦЕПЬ):Читать.Поток; (* Цель: если возможно, то открыть поток на чтение, иначе АВОСТ ****************************************************************************** * До: <имяФайла> - имя считываемого файла * Ответ: открытый на чтение поток *) ПЕР п:Читать.Поток; УКАЗ п:=Читать.Открыть(имяФайла); ЕСЛИ п = ПУСТО ТО Вывод.Цепь('^Файл "'); Вывод.Цепь(имяФайла); Вывод.Цепь('" не найден.^'); СТОП(1) КОН; п.видЗнаков:=Читать.знУни; ВОЗВРАТ п КОН ОткрытьПоток; (******************************************************************************) ЗАДАЧА ЧитатьМатр-(п:Читать.Поток):Матр.Доступ; (* Цель: прочитать из потока размер матрицы (строк, столбцов) * создать матрицу и заполнить ее данными из этого потока ****************************************************************************** * До: <п> - открытый на чтение поток * Ответ: созданная матрица *) ПЕР i,j,строк,столбцов:ЦЕЛ; М:Матр.Доступ; УКАЗ строк:=Читать.Цел(п); столбцов:=Читать.Цел(п); СОЗДАТЬ(М,строк,столбцов); ОТ i:=0 ДО строк-1 ВЫП ОТ j:=0 ДО столбцов-1 ВЫП М[i,j]:=Читать.ШирВещ(п) КОН КОН; ВОЗВРАТ М КОН ЧитатьМатр; (******************************************************************************) ЗАДАЧА ЧитатьКомплМатр-(п:Читать.Поток):КомплМатр.Доступ; (* Цель: прочитать из потока размер матрицы (строк, столбцов) * создать матрицу и заполнить ее данными из этого потока ****************************************************************************** * До: <п> - открытый на чтение поток * Ответ: созданная матрица *) ПЕР i,j,строк,столбцов:ЦЕЛ; x,y:Матем.Вещ; М:КомплМатр.Доступ; УКАЗ строк:=Читать.Цел(п); столбцов:=Читать.Цел(п); СОЗДАТЬ(М,строк,столбцов); ОТ i:=0 ДО строк-1 ВЫП ОТ j:=0 ДО столбцов-1 ВЫП x:=Читать.ШирВещ(п); y:=Читать.ШирВещ(п); Компл.алгВид(x,y,М[i,j]) КОН КОН; ВОЗВРАТ М КОН ЧитатьКомплМатр; (******************************************************************************) ЗАДАЧА ВыводМатр-(описание-:ЦЕПЬ; М-:Матр.Вид); (* Цель: вывести на экран содержимое матрицы <М> ****************************************************************************** * До: <описание> - описатель представления элемента матрицы (см. Текст.отд) * <М> - прямоугольная матрица *) ПЕР i,j:ЦЕЛ; УКАЗ ОТ i:=0 ДО РАЗМЕР(М,0)-1 ВЫП ОТ j:=0 ДО РАЗМЕР(М,1)-1 ВЫП Вывод.ЧВещ(описание,М[i,j],0,0,0) КОН; Вывод.Цепь('^') КОН КОН ВыводМатр; (******************************************************************************) ЗАДАЧА ВыводКомплМатр-(описание-:ЦЕПЬ; М-:КомплМатр.Вид); (* Цель: вывести на экран содержимое матрицы <М> ****************************************************************************** * До: <описание> - описатель представления элемента матрицы (см. Текст.отд) * <М> - прямоугольная матрица *) ПЕР i,j:ЦЕЛ; УКАЗ ОТ i:=0 ДО РАЗМЕР(М,0)-1 ВЫП ОТ j:=0 ДО РАЗМЕР(М,1)-1 ВЫП Вывод.ЧВещ(описание,М[i,j].x,М[i,j].y,0,0) КОН; Вывод.Цепь('^') КОН КОН ВыводКомплМатр; (******************************************************************************) ЗАДАЧА ВыводВект-(описание-:ЦЕПЬ; в-:Вект.Вид); (* Цель: вывести на экран содержимое вектора <в> ****************************************************************************** * До: <описание> - описатель представления элемента матрицы (см. Текст.отд) * <в> - исходный вектор *) ПЕР i:ЦЕЛ; УКАЗ ОТ i:=0 ДО РАЗМЕР(в)-1 ВЫП Вывод.ЧВещ(описание,в[i],0,0,0) КОН; Вывод.Цепь('^') (* переход на новую строку при выводе на экран *) КОН ВыводВект; (******************************************************************************) ЗАДАЧА ВыводКомплВект-(описание-:ЦЕПЬ; в-:КомплВект.Вид); (* Цель: вывести на экран содержимое вектора <в> ****************************************************************************** * До: <описание> - описатель представления элемента матрицы (см. Текст.отд) * <в> - исходный вектор *) ПЕР i:ЦЕЛ; УКАЗ ОТ i:=0 ДО РАЗМЕР(в)-1 ВЫП Вывод.ЧВещ(описание,в[i].x,в[i].y,0,0) КОН; Вывод.Цепь('^') (* переход на новую строку при выводе на экран *) КОН ВыводКомплВект; КОН МатрВВ. |
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com
|
|